A frequent task in the inspection of manufactured parts is determining the pose of the part. The pose is the location of the part, typically measured by an x and y coordinate together with and an angle as measured from the vertical. The angular pose may be viewed as a measure of how much the part is rotated. In many industrial applications the pose of the part is measured by a machine vision system. This is especially true for semiconductor parts. Knowing the angular pose, a machine vision system can provide important information concerning the quality of a part, can direct manufacturing operations or can improve the accuracy of other machine vision operations.
Determination of the angular pose is often a time intensive operation. With the ever increasing requirements for increased throughput, increasing the speed at which the angular pose is calculated is universally desired.
It is also understood that many pattern recognition algorithms or systems used by machine vision systems are angularly sensitive. In other words, many pattern recognition algorithms or systems do not operate well when the part being inspected is rotated beyond some tolerance. For example, if a part is rotated more than approximately one or two degrees, normalized correlation may not properly function to recognize a part.
The semiconductor industry has dealt with the sensitivity of pattern recognition systems in a variety of ways. One way has been to develop pattern recognition systems which are less sensitive to rotatation, such as gray scale vector correlation (See commonly assigned U.S. Pat. No. 6,385,340 which is incorporated herein by reference). Another way to deal with this sensitivity is to present the semiconductor parts to the vision system in a very controlled manner. For example, semiconductors may be presented to the vision system in a specially configured tray designed to minimize the rotation of the parts. Notwithstanding the two efforts described above parts may be rotated beyond the tolerance of the pattern recognition system which may result in the pattern recognition system reporting a failure for that part.
However, if the angular pose is generally known, pattern recognition systems can be adjusted to properly perform. This would allow known parts to be inspected regardless of rotation. In the past determining the angular pose of an object as a separate processing system and reporting that angular pose to the pattern recognition system was simply too costly as compared to the occasional failure caused by a part being rotated beyond the tolerance of the recognition system being used. Thus a need has arisen to calculate the angular pose of an object quickly and with the desired accuracy.